iT邦幫忙

2021 iThome 鐵人賽

DAY 9
0
DevOps

DevOps 好想學!新手也能打造雲端 Study Lab系列 第 9

Day09 - 用 Cloud Run 部屬 Serverless 容器應用

  • 分享至 

  • xImage
  •  

什麼是 Serverless ?

若要將應用程式部屬到生產環境,會需要考慮很多問題,包括計算資源是否充足、如何做好負載平衡等等。對於開發人員來說,應該要專心在撰寫程式上,而 Serverless 的目的就是替開發人員免去管理伺服器以及設定部屬的負擔。

Serverless( 無伺服器架構 )是一種全託管的計算服務,讓開發者無需管理基礎架構,只要準備好你的應用程式,就能將服務輕鬆部屬完成,不僅簡化了開發流程,也能提升開發應用的速度。

只要寫好 Code ,剩下的部屬問題通通不用煩惱。

在 GCP 上根據準備的應用程式,有不同的 Serverless 服務可以做使用

  • 只有程式碼
    • Cloud Functions
  • 準備如 Node.js、Java 的專案
    • App Engine
  • 準備 Container Image
    • Cloud Run

Cloud Run 介紹

Cloud Run 是 Google 的 Serverless 產品,可以讓使用者輕鬆部屬無狀態容器,並且透過 HTTP 請求來呼叫它,主要特色有以下幾點

  • Bringing Serverless to Containers,不須管理基礎架構也能建置容器
  • 會根據流量自動調整資源,且只依據實際使用的資源收費
  • 結合GKE,在GKE叢集上也能執行無伺服器應用

部屬 Serverless 容器應用

那到底 Cloud Run 能帶給開發人員怎樣的體驗,我們就來透過實際操作體驗一下。本次 Lab 會需要已經存放在 Google Container Registry 的 Image ,還沒有的人可以參考 Day08 的教學。

  1. 進入 GCP 網站

  2. 點擊console左上角 -> 下拉找到無伺服器 -> 點選 Cloud Run

https://ithelp.ithome.com.tw/upload/images/20210909/201392357Gcnx2X9Ef.png

  1. 點選建立服務

https://ithelp.ithome.com.tw/upload/images/20210909/20139235THHIg3m3Cq.png

  1. 容器映像檔網址 -> 點擊選取

https://ithelp.ithome.com.tw/upload/images/20210909/20139235YbwVYsUw28.png

  1. 找到建立好的 Image 後點擊選取

https://ithelp.ithome.com.tw/upload/images/20210909/20139235v4TEERKPQv.png

Cloud Run 只能使用的存放在 Google Container Registry 或是 Artifact Registry 的 Image

  1. 輸入以下資訊

服務名稱: node-project
區域: asia-east1 (台灣)
執行個體數量上限: 3

https://ithelp.ithome.com.tw/upload/images/20210909/20139235NeVKjmBKda.png

  1. 點選進階設定,容器通訊埠設定為8080

https://ithelp.ithome.com.tw/upload/images/20210909/201392358sTajS9Dqr.png

  1. 下拉後點擊下一步

  2. Ingress 選擇 允許所有流量,驗證選擇允許未經驗證的叫用要求 -> 點擊建立

https://ithelp.ithome.com.tw/upload/images/20210909/20139235x9G7eSkzK4.png

  1. 等待一段時間服務就建置完成了,可以點擊網址來查看

https://ithelp.ithome.com.tw/upload/images/20210909/201392356ovLtjtybz.png

可以看到服務已經正常運行。

https://ithelp.ithome.com.tw/upload/images/20210909/20139235mCX1Qa2Ni5.png

總結

Serverless 是一種 NoOps 的解決方式,讓只有開發人員的 Team 也能進行部屬,這種方式既能省時間又減少成本,缺點就是少了建置基礎環境的彈性,當部署的環境更加複雜時, Serverless 就不是萬靈丹,沒辦法滿足所有的需求,所以 DevOps 技術還是有其不可取代性。

雲端服務百百種,只要找到適合的解決方式就行了 !!


上一篇
Day08 - Docker 101 Image 建置篇
下一篇
Day10 - 基礎篇總結 ,CI/CD 的功用為何 ?
系列文
DevOps 好想學!新手也能打造雲端 Study Lab30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言